Skip to content

feat: add remote run SDK layer#234

Merged
roackb2 merged 1 commit into
mainfrom
codex/remote-run-sdk-layers
Jul 11, 2026
Merged

feat: add remote run SDK layer#234
roackb2 merged 1 commit into
mainfrom
codex/remote-run-sdk-layers

Conversation

@roackb2

@roackb2 roackb2 commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • add explicit @roackb2/heddle/hosted and @roackb2/heddle/remote package entrypoints
  • expose the existing ConversationRunService through /hosted without duplicating its implementation
  • add a transport-neutral remote run consumer for cursor, duplicate, gap, terminal, and bounded reconnect correctness
  • add a runtime protocol codec whose host-supplied schemas define the public activity and result payloads
  • migrate Heddle CLI, web, and the hosted-agent example to the same public remote implementation
  • document the SDK assumption layers and the remaining host-owned transport, auth, timer, and UI responsibilities

Boundary

This slice deliberately does not choose HTTP, SSE, tRPC, WebSocket, React, authentication, or multi-process delivery. It establishes the reusable hosted and remote domain layers first; concrete transport kits can compose them in a later slice once their residual adapter boundary is clear.

Developer impact

Hosts can now make their assumptions explicit:

import { createConversationEngine } from '@roackb2/heddle'
import { ConversationRunService } from '@roackb2/heddle/hosted'
import {
  ConversationRunConsumerService,
  ConversationRunProtocolCodec,
} from '@roackb2/heddle/remote'

The root ConversationRunService export remains available for compatibility.

Validation

  • yarn lint
  • yarn typecheck
  • yarn test — 635 unit and 290 integration tests
  • yarn build
  • static package-name import smoke for /hosted and /remote
  • npm pack --dry-run --cache /tmp/heddle-npm-cache

@roackb2 roackb2 marked this pull request as ready for review July 11, 2026 11:23
@roackb2 roackb2 merged commit 9e6f2c7 into main Jul 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant